10 CLS:KEY OFF          ' 1802pic1.bas
20 DIM D(176),F1(15),B(793):V=1
30 FOR I=1 TO 176:READ D(I):NEXT I:SCREEN 1
40 LINE (0,0)-(2,2),15,BF:GET (0,0)-(2,2),F1:CLS
50 CLS:X=0:Y=0
60 FOR I=1 TO 176:C=D(I):X$=""
70 FOR J=1 TO 8:Q=INT(C/2):R=C-2*Q
80 IF R=1 THEN X$="1"+X$ ELSE X$=" "+X$
90 C=Q
100 NEXT J
110 FOR D=1 TO 8:IF MID$(X$,D,1)="1" THEN PUT(X,Y),F1,PSET
120 X=X+3
130 NEXT D:IF I/8=INT(I/8) THEN X=0:Y=Y+3
140 NEXT I
150 DELAY=1/2:START=TIMER:WHILE TIMER<START+DELAY:WEND
160 GET (0,0)-(191,65),B:CLS:BX=5:BY=5:DX=1:DY=1
170 ON V GOTO 200,180,190
180 PUT (0,0),B,XOR:GOTO 200
190 PUT (1,1),B,XOR                  ' To erase picture
200 IF BY>137 OR BY<5 THEN DY=-1*DY  ' 200 -  65 = 135   <138 OK
210 IF BX>131 OR BX<5 THEN DX=-1*DX  ' 320 - 191 = 129   <132 OK
220 OBX=BX:OBY=BY:BX=BX+DX:BY=BY+DY
230 PUT (OBX-4,OBY-4),B,XOR:PUT (BX-4,BY-4),B,XOR
240 DELAY=1/100:START=TIMER:WHILE TIMER<START+DELAY:WEND
250 W$=INKEY$:IF W$="" THEN 200
260 IF W$=CHR$(49) THEN V=1:GOTO 50
270 IF W$=CHR$(50) THEN V=2:GOTO 50
280 IF W$=CHR$(51) THEN V=3:GOTO 50
290 IF W$=CHR$(27) THEN SCREEN 2:SCREEN 0:CLS:END
300 GOTO 200
310 DATA 250,32,241,195,206,248,7,158
320 DATA 130,32,138,36,4,128,5,154
330 DATA 130,46,138,36,4,128,5,154
340 DATA 154,160,251,227,132,128,5,250
350 DATA 138,160,138,32,68,128,4,2
360 DATA 138,160,138,32,68,128,4,2
370 DATA 251,224,242,39,142,248,7,158
380 DATA 0,0,0,0,0,0,0,96
390 DATA 0,0,0,0,0,0,8,241
400 DATA 0,0,0,0,0,0,4,242
410 DATA 119,82,14,174,57,206,227,156
420 DATA 130,82,4,168,37,16,64,240
430 DATA 226,82,4,236,61,156,64,144
440 DATA 18,82,4,168,37,2,64,144
450 DATA 226,91,4,174,57,220,64,240
460 DATA 0,0,0,0,0,0,7,254
470 DATA 0,0,0,0,0,0,3,252
480 DATA 0,92,84,238,238,160,1,152
490 DATA 0,84,85,4,170,160,1,152
500 DATA 0,84,117,196,172,69,0,144
510 DATA 0,84,84,36,170,66,0,240
520 DATA 0,84,85,196,234,69,15,255
530 DATA 
